王莱捧着电脑,不停的看着窗口里一行行程序不断的进行,嘴巴就没有合拢过,而秦明则在一旁悠闲地喝着咖啡。
“这不是真的吧!”王莱捧着脸颊,像极了《呐喊》里头的样子,“继让系里头的同学失业后,你打算让所有程序员失业吗?”
“怎么可能啊~你在开什么玩笑!”秦明稍正襟危坐,向王莱展示‘自编译源代码’的所有情况。
编译程序是一个相当复杂的系统软件,一般有数万条指令,为了缩短研制时间,保证代码编制的正确性,人们希望尽可能地把工作交给计算机去完成,从而提出了“编译自动化”的课题。由于高级语言具有自编译性,即可以用这个语言来编写自己的编译程序,同时一个具有自编译性的高级语言也可用于编写其他高级语言的编译程序。这样使得人们可以通过使用高级语言实现编译程序各遍的算法的方法,来解决“编译自动化”的问题。这种方法有利于减少错误并加快研发的速度。
一开始,在学校里,秦明不过是想着做一个编写程序的模板收集,整理,调用的程序,作为一个辅助工具,而他也这么做了。通过对几年来收集到的大大小小的程序的收集和整理,他建立起一个庞大的程序文件数据库,在编写程序时也更加得心应手了。
进入公司不到3个月,他一个人完成的工作量比其他人多得多的多,毕竟,公司现今的目标是与业界的其它游戏公司合作,开发在vr游戏头盔上玩的游戏程序,其中大部分代码的编写都是为了将原有的数据操作机制转换成在游戏头盔里进行操作,而同类的游戏都有极大的相似性,于是很多代码其实都是重复的。所以,只要借助调用模板,基本上秦明一个人就能完成前期的工作要求,唯一需要动脑的就是修改其中的主要的文件,以及一些参数。
尽管这样极大的减少了编程的工作量,但是,这样编译出的程序往往容易出错,即便使用的是基础的Java语言,程序在出错时也能较为正常的运行,但这样的结果可不是秦明希望看到的。为了减少后期修改bug的时间,加快工作进度,秦明必须想办法解决程序的冲突问题。
编程语言俗称"计算机语言",种类非常的多,总的来说可以分成机器语言、汇编语言、高级语言三大类。电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。在电脑领域已发明了上千不同的编程语言,而且每年仍有新的编程语言诞生。目前通用的编程语言有两种形式:汇编语言和高级语言。
王莱和秦明所研发的程序,其中很多程序是由多种语言汇编成的,使用Java语言开发基础的游戏程序可以保证游戏在不同的平台上也能正常运行,使用SQL语言建立大型数据库,储存游戏数据以及用户资料,这些语言的语法、命令格式都各不相同,因此在编写程序的调用过程中,秦明需要花费很多的时间解决不同语言的冲突问题以及处理因此而产生的漏洞。
目前来说,秦明想到的最合适的办法就是,开发自编译源代码,借鉴Java虚拟机的编译库,允许计算机对已经编译的程序语言再加工,进行代码重构,即将不同种复杂的高级语言程序由计算机依据已有数据库文件进行理解,然后编码,生成一串基础的源代码,并入数据库。编写程序时,可以直接调用不同语言的程序文件,语义上的冲突及程序的运行bug由计算机在数据处理中独立运行解决,这样使得即便编写的程序代码有漏洞或不能运行,计算机也可以依据数据库的源代码,进行再编译。简单点的说,就是计算机学会了自己为自己编写程序。
王莱的话可不是空话,这样的程序的出现真的会使很多的和他们一样的程序员失业。当然,目前的自编译源代码程序还很简陋,需要很多完善的地方,也有很多的不足,比如说程序的优化问题,基于编译的需要,复杂的程序可以简单化,但简单的运算也会变得复杂,在运行大型的程序时内存往往容易崩溃,无法稳定运行。
这一段时间秦明一直在晚上加班加点,终于完善了对电脑系统的自编译优化工作,在王莱面前的就是在自编译源代码程序下完整运行的windows xp系统。看着熟悉的“欢迎使用”界面显示在屏幕上,王莱终于合上了嘴巴。“你优化后的程序文件有多大?”王莱眼睛里冒出了绿光,迫切的想知道答案。“大概10个G,运行内存使用量最大我限定在了3G,目前来说没有问题,可以正常运行。”“真的吗?”王莱继续追问。“不信你不会自己看呐!”秦明不在乎的撇撇嘴,似乎是对室友的怀疑感到生气。“虽然我知道你是个天才了,但是果然我还是会嫉妒你啊!”王莱投来的敌对的目光让秦明很是受用,怎么说呢,被别人夸奖心情当然是愉悦的,更别说这次是故意向好友炫耀的。
“那你windows xp系统的命令库文件有多大?”王莱还是找到了反击点。命令库文件是自编译源代码程序依据编写程序生成的数据库文件,程序运行时直接检索数据库调用命令库文件,再进行编码运算,所以实际上电脑运行的程序是生成的命令库文件。这一点和程序的运行是相似的,程序员编写的程序是经过翻译成计算机语言,再进行运算的,没有经过编译的程序是无法在计算机上运行的。但是,自编译程序需要数据库的支持,也就是需要Windows xp的源代码程序,才能运行转译过后的Windows xp系统。这样整个的程序无疑是显得极为臃肿的,毕竟这台电脑本身已经安装了Windows xp系统并可以完整运行。
“额!这个嘛!u盘里的全部的128G使用了大概60个G!”秦明用手指摸了摸脸颊,这是他平时紧张时会做的习惯性动作。“所以说,最后编译的程序实际上占用的空间比原本的程序要大很多了?而且在运行上似乎更慢了!你这样简直是脱裤子放屁,多此一举了嘛!”王莱点出了这个程序的缺陷。“是的,所以今天我拉你过来就是让你给我出出主意,最近我实在是想不到合适的办法了!在保证程序的正常运行情况下,建立的命令库文件我已经优化了很大一部分,但是依旧需要很大的储存空间,如果是继续进行压缩的话,会拖慢整个程序的运行速度。”
“这个。。。你都比我厉害那么多都没有办法,我能有什么好方法呢!”王莱摆了摆手。
“那好吧!你要是想到了什么,马上告诉我哦!”秦明还是很看重身边这位室友的。
wm的二次元世界提示您:看后求收藏(卧龙小说网http://www.wolongxs.com),接着再看更方便。
好书推荐:《这游戏也太真实了》、《VR世界太无趣决定发起革命》、《我转生就超神》、《斗罗之我举世无双》、《海军之巨石中将》、《原神,我喜欢失败的第一步》、《龙族之武圣路明非》、《龙族之路明非的封王之路》、《全服最强的女玩家被我秒了》、《术师手册》、